-
Notifications
You must be signed in to change notification settings - Fork 5
bpf: test_run: Fix sleep-in-atomic BUG in timer path with RT kernel #6136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpf: test_run: Fix sleep-in-atomic BUG in timer path with RT kernel #6136
Conversation
|
Upstream branch: 39e9d5f |
06bf66d to
4b3a35b
Compare
|
Upstream branch: 39e9d5f |
a0236e3 to
b93d6a0
Compare
4b3a35b to
ec7437a
Compare
|
Upstream branch: 48a97ff |
ec7437a to
fa9b89f
Compare
|
Upstream branch: 27aab47 |
720da01 to
7beb9e5
Compare
fa9b89f to
631bcf6
Compare
|
Upstream branch: 48a97ff |
7beb9e5 to
5f76b9e
Compare
631bcf6 to
db45b16
Compare
|
Upstream branch: 48a97ff |
5f76b9e to
2c578b7
Compare
db45b16 to
cf0c057
Compare
|
Upstream branch: 48a97ff |
The timer mode is initialized to NO_PREEMPT mode by default, this disable preemption and force execution in atomic context causing issue on PREEMPT_RT configurations when invoking spin_lock_bh(), leading to the following warning: BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6107, name: syz.0.17 preempt_count: 1, expected: 0 RCU nest depth: 1, expected: 1 Preemption disabled at: [<ffffffff891fce58>] bpf_test_timer_enter+0xf8/0x140 net/bpf/test_run.c:42 Fix this, by removing NO_PREEMPT/NO_MIGRATE mode check. Also, the test timer context no longer needs explicit calls to migrate_disable()/migrate_enable() with rcu_read_lock()/rcu_read_unlock(). Use helpers rcu_read_lock_dont_migrate() and rcu_read_unlock_migrate() instead. Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=1f1fbecb9413cdbfbef8 Suggested-by: Yonghong Song <[email protected]> Suggested-by: Menglong Dong <[email protected]> Acked-by: Yonghong Song <[email protected]> Tested-by: [email protected] Co-developed-by: Brahmajit Das <[email protected]> Signed-off-by: Brahmajit Das <[email protected]> Signed-off-by: Sahil Chandna <[email protected]>
2c578b7 to
e137540
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1011490 irrelevant now. Closing PR. |
Pull request for series with
subject: bpf: test_run: Fix sleep-in-atomic BUG in timer path with RT kernel
version: 3
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1011490